package hehe.core.base;

import hehe.container.Container;
import java.util.Map;

/**
 * 全局控制器基类
 *<B>说明：</B>
 *<pre>
 * 略
 *</pre>
 *<B>示例：</B>
 *<pre>
 *  略
 *</pre>
 *<B>日志：</B>
 *<pre>
 *  略
 *</pre>
 *<B>注意事项：</B>
 *<pre>
 *  略
 *</pre>
 */
public class BaseHeHe
{
    /**
     * 容器对象
     *<B>说明：</B>
     *<pre>
     *  一个项目只能允许有一个容器对象
     *</pre>
     */
    public static Container container = Container.getContainer();

    /**
     * 注册bean 配置
     *<B>说明：</B>
     *<pre>
     * 略
     *</pre>
     */
    public static void registerBean(Map<String,Object> attr)
    {
        container.getBeanDefinitionManger().registerBeanDefinition(attr);
    }

    /**
     * 获取bean对象
     *<B>说明：</B>
     *<pre>
     * He.getBean("db");
     *</pre>
     * @param beanId bean 对象id
     * @return
     */
    public static <T> T getBean(String beanId)
    {
        return (T) container.getBean(beanId);
    }

    /**
     * 获取bean对象
     *<B>说明：</B>
     *<pre>
     * He.getBean();
     *</pre>
     * @param clazz clazz class 类
     * @return
     */
    public static <T> T getBean(Class clazz)
    {
        return (T) container.getBean(clazz.getName());
    }

}
